CosenseのMongoDB query cursor使ってる箇所を総点検
対策としては同じ様にfinally内でcursor.close()するか
git show a602aefebb01e0e1367b098ccc516ab9ab6ea199で変更を把握してshokai.icon
このcommitで修正しているHelpfeel専用export API以外で、同じ様な修正が必要な場所が他あれば修正したい
commitの内容を確認しました。これはMongooseのcursorを使用しているループ内で、早期return時にcursor.close()が呼ばれずにリソースリークが発生していた問題の修正ですね。Claude Code.icon
try-finallyブロックでcursorのclose()を確実に呼び出すように修正されています。
同様のパターンがないか、コードベース全体を調査します。
サーバーコントローラー (4個)
13. src/server/models/project/elasticsearch.js - Elasticsearch同期処理
project.updateEsIndex()でまとめてpageとfileをESに投入する処理
上の4つまとめて修正するshokai.icon
漏れがあった。ここでもcursor使ってる
src/server/models/commit/hooks/page-infobox.js - Commit hookからのinfobox更新
修正方針が間違っていたshokai.icon
安易にfor awaitを使うべきではない
2,3,4,13,infoboxの5つをまとめて修正
2025/11/13(木) 04:34リリース
タスク/バッチ処理 (8個)
5. tasks/delete-unused-projects/index.js - 未使用プロジェクト削除
6. tasks/migrations/page-title.js - ページタイトルマイグレーション
7. tasks/migrations/revert-page-title.js - ページタイトル復元
8. tasks/migrations/page-descriptions.js - ページ説明マイグレーション
9. tasks/migrations/page-icons.js - ページアイコンマイグレーション
10. tasks/fetch-missing-file-text/index.js - 欠落ファイルテキスト取得
これは例外
11. tasks/batches/delete-gcs-objects/file/index.js - GCSファイル削除バッチ
12. tasks/batches/delete-gcs-objects/project-backup/index.js - プロジェクトバックアップ削除バッチ
安易にnoCursorTimeoutを外すべきではない事がわかった為